package com.hsmpay.qian4.service.ds;

import com.hsmpay.common.pojo.qian4.Qian4SendLog;
import com.hsmpay.qian4.pojo.BalanceResult;
import com.hsmpay.qian4.pojo.FeeResult;
import com.hsmpay.qian4.pojo.PurchaseResult;
import com.hsmpay.qian4.pojo.RevocationResult;

public interface ZYTLPayService {
	/**
	 * 查询余额
	 * @param send
	 * @return
	 * @throws Exception
	 */
	public BalanceResult balance(Qian4SendLog send)throws Exception;
	
	/**
	 * 上传凭证
	 * @param mcode
	 * @param tcode
	 * @param transId
	 * @param signatureRelPath
	 * @return
	 * @throws Exception
	 */
	public String uploadImages(String mcode, String tcode, String transId, String signatureRelPath)throws Exception;
	
	/**
	 * 消费
	 * @param send
	 * @return
	 * @throws Exception
	 */
	public PurchaseResult purchase(Qian4SendLog send, String signatureRelPath) throws Exception;
	
	/**
	 * 撤销冲正
	 * @param send
	 * @return
	 * @throws Exception
	 */
	public RevocationResult revocation(Qian4SendLog send)throws Exception;
	
	/**
	 * 信用卡还款
	 * @param send
	 * @return
	 * @throws Exception
	 */
	public PurchaseResult creditRepayment(Qian4SendLog send)throws Exception;
	
	/**
	 * 检测信用卡是否可以还款
	 * @param transAmt 单位分
	 * @return
	 * @throws Exception
	 */
	public FeeResult checkCreditBankCard(String creditNumber, String transAmt,long roleId)throws Exception;
	
	/**
	 * 卡卡转账
	 * @param send
	 * @return
	 * @throws Exception
	 */
	public PurchaseResult transfer(Qian4SendLog send)throws Exception;
	
	/**
	 * 检查卡卡转账
	 * @param accountNumber2
	 * @param transAmt
	 * @return
	 * @throws Exception
	 */
	public FeeResult checkTransfer(String accountNumber2, String transAmt,long roleId)throws Exception;

    /**
     * 初始换请求参数
     * @param send
     * @return
     */
    public Qian4SendLog initSend(Qian4SendLog send) throws Exception;
}
